﻿using Microsoft.Extensions.DependencyInjection;

namespace OnHook.Framework.Ioc
{
    public interface INamedServiceProviderBuilder
    {
        INamedServiceProviderBuilder AddNamedService<TService, TImplementation>(string serviceName, ServiceLifetime lifetime)
            where TService : class
            where TImplementation : class, TService;

        INamedServiceProviderBuilder TryAddNamedService<TService, TImplementation>(string serviceName, ServiceLifetime lifetime)
            where TService : class
            where TImplementation : class, TService;

        void Build();
    }
}
